<script>
    // 1.封装一个函数，实现任意个数字求平均数
    // function fn(){
    //     let sum = 0
    //     let avg = 0
    //     for(let i = 0 ; i < arguments.length ; i++){
    //         sum+=arguments[i]
    //         avg = sum/arguments.length
    //     } 
    //     return avg;
    // }
    // console.log(fn(1,1));
    // console.log(fn(2,3,1));
    //2. 封装一个函数，实现 传入三个数字，返回一个从小到大排列的数组
    // function fn(a, b ,c){
    //     let arr = []
    //     arr.push(a,b,c)
    //     arr.sort(function( a , b){
    //         return a - b
    //     })
    //     return arr
    // }
    // console.log(fn( 99,1,300)); 
    // 3.写一段js代码,实现交换两个变量的值（注意：两个变量的值均为数字）-[不用封装函数]

    // let a = 3;
    // let b = 4;
    // let c = a;
    //     a=b
    //     b=c
// ----------------------------------
    // let a = 3;
    // let b = 4;
    // a = a-b;
    // b = a+b;
    // a = b-a
// ---------------------------------------
    // let a = 3;
    // let b = 4;
    // [a , b ] = [ b , a]
    //    console.log(a,b);
// -------------------------------------
        // let a = 3;
        // let b = 4;
        // c = [a, b ]
        // a = c[1]
        // b = c[0]
        // console.log(a,b);
        // 4.封装一个函数，实现 获取6位随机字符串
            // function fn(){
            //    let arr = [];
               
            //     for(let i = 0 ; i <6 ; i++){
            //         arr.push(Math.floor(Math.random()*(90-65+1))+65);
            //     }
            //     console.log(arr);
            //     let arr1 = [];

            //     arr.forEach( function(item){
            //         arr1.push(String.fromCharCode(item))
            //    })
            //    return arr1;
            // }
            // console.log(fn());
        // 5.封装一个函数，传入一个 大于100的正整数，求出从0到该数之间所有能够被3整除的数字之和
        // function fn(item){
        //     let sum= 0
        //     for( let i = 0 ; i < item ; i++){
        //         if ( i%3 === 0) {
        //             sum = sum+i
        //         }
        //     }
        //     return sum
        // }
        // console.log(fn(101));
        // 6.封装一个函数，实现输入 圆的半径，求出该圆的面积
        // function fn(r){
        //     let s = Math.PI*r*r
        //     return s;
        // }
        // console.log(fn(2));
        // 7.封装一个函数，传入一个人名，1秒之后返回 “xxx同学真可爱”
        // 7.function fn(callback , name){
        //     setTimeout(function(){
        //         callback(name+"同学真可爱")
        //     },1000)
        // }
        // fn(function(res){
        // console.log(res);
        // },"刘亦菲")
        // 8.封装一个函数，传入一个格林威治时间，返回一个北京标准时间格式：2021-11-01 05:01:01 
        // let date = new Date("2021-11-01 05:01:01")
        // let dates = formatDate(date)
        // console.log(dates);

        
        // function formatDate(date){
        // let str =""
        // let y = date.getFullYear()
        // let m = date.getMonth()+1
        // let d = date.getDate()
        // let h = date.getHours()
        // let min = date.getMinutes()
        // let s = date.getSeconds()
        // // 添0补齐
        // m<10? m="0"+m:m
        // d<10? d="0"+d:d
        // h<10? h="0"+h:h
        // min<10? min="0"+min:min
        // s<10? s="0"+s:s
        // str = `${y}-${m}-${d}  ${h}:${min}:${s}`
        // return str;
    // }
    // 9.封装一个函数，实现加密数据的密码本函数
    // > 某个公司采用公用电话传递数据，数据是四位的整数，在传递过程中是加密的。
    // >
    // > 加密规则如下： 
    // >
    // > 5566===》  6565A
    // >
    // > 6655===》 6655B
    // >
    // 如果第一位数字是奇数，则第一位和第四位互换位置,请在最后面添加 ‘A’，如果没换位置 添加 ‘B’
    // function fn( a , b , c , d){
    //     let arr = [];
         
    //     if(a%2 === 1 ){
    //        arr.push (d , b , c , a , "A" )  
    //     }else{
    //         arr.push (a,b,c,d,"B")  
    //     }
    //     return arr.join("") ;
    // }
    //     console.log(fn(6,5,6,6)); 
    //         console.log(fn(5,5,6,6)); 
    // 10.封装一个函数，实现第四题加密数据密码本的 逆向解码函数

    // >   6565A ===》5566
    // >
    // >   6655B ===》 6655
        // function fn(a,b,c,d,E){
        //     let arr = [];
        //     if( E === "A"){
        //         arr.push(b,d,a,c)
        //     }else{
        //         arr.push(a,b,c,d)
        //     }
        //     return arr.join("")
        // }
        // console.log(fn(6,5,6,5,"A"));
        // console.log(fn(6,6,5,5,"B"));
        //11. 封装一个函数，实现传入一个人的身高体重，返回该用户的BMI指数对应的身材。

        // ```js
        // BMI指数公式 = 体重（千克）/(身高*身高)    [身高的单位：m]
        
        // BMI指数与身材的对应表
        // BMI<18.5      偏瘦
        // 18.5<=BMI<24  健康
        // 24<=BMI <28   偏胖
        // 28<=BMI       肥胖
        // ```
        //     function fn(K,H){
        //         let str = "";
        //         let BMI = K / (H*H);
        //         if(BMI<18.5){
        //             str = "偏廋"
        //             return str
        //         }else if(18.5<=BMI  && BMI<24){
        //             str = "健康"
        //             return str
        //         }else if(24<=BMI && BMI<28){
        //             str = "偏胖"
        //             return str
        //         }else{
        //             str = "肥胖"
        //             return str
        //         }
        
        //         return str
        //         }
        //    alert(fn(60,1.7)); 
        // 12.封装一个函数 实现一个数字数组的排序，禁止使用sort 方法。
        //     let arr = [1,15,45,451,2,-5,-21,41,5212,5241]; 
        // console.log( arr ); 
        // // 选择排序 
        // // 提供当前选择的数组中的下标 
        // for( let i = 0 ; i < arr.length - 1 ; i++ ){ 
        // // 内循环提供当前已经选择的这个空间后面剩余的所有空间 
        // for( let j = i + 1 ; j < arr.length ; j+=1 ){ 
        // // 比较 
        // if( arr[i] > arr[j] ){ 
        // let temp = arr[i]; 
        // arr[i] = arr[j]; 
        // arr[j] = temp; 
        // } 
        // } 
        // } 
        // console.log( arr ); 

        //13. 封装一个函数，实现数组去重，数组元素不能重复

        // let arr = [100,100,100,200,300,400,400,500,100];
        
        // let newArr = [];
        // // 遍历原始数组
        // arr.forEach( function( v ){
        //     if( newArr.indexOf( v ) === -1 ){
        //         newArr.push( v );
        //     }
        // } );

        // console.log( arr );
        // console.log( newArr );


            


     

      




</script>